<!-- 未完成 -->
<template>
  <el-form-item :label="label">
    <el-input v-model="value" @change="setValue"></el-input>
  </el-form-item>
</template>

<script>
  const type = ['input', 'date', 'dateRange', 'switch', 'checkbox', 'radio', 'dict', 'select'];
  const typeMap = { // 类型匹配，如果匹配不上，则认为是自定义组件
    'input': 'el-input',
    'date': ''
  };
  export default {
    name: "formItem",
    model: {
      event: 'changeValue',
      value: 'value'
    },
    props: {
      type: {
        type: String,
        default: 'input',
        desc: '表单项类型，支持类型见上面声明的：type'
      },
      label: {
        type: String,
        default: '',
        desc: 'label名称'
      },
      value: {
        type: [String, Number, Array],
        desc: '表单项绑定的值'
      }
    },
    methods: {
      setValue() {
        this.$emit('changeValue', this.value)
      }
    },
    // render: (h, param) => {
    //   console.log(h, param);
    //   const componentName = typeMap[this.type];
    //   return h(componentName, {
    //     model: this.value
    //   }, )
    // }
  }
</script>

<style scoped>

</style>
